package com.supermap.dubbo.api.cloud.tracesource;

import com.supermap.dataservice.util.JSONUtil;

import java.util.Map;

/**
 * @author aqua
 * @description 溯源
 * @date 2018年12月21 上午 9:49
 * @email 1301584033@qq.com
 */
public interface TraceSourceService {

    /**
     * 获取溯源数据
     * */
    Map<String,Object> getTraceSourceByFarmId(String beginTime, String endTime, String farmId);


    /**
     * 是否可溯源数据
     * */
    JSONUtil isNotHarvestByFarmId(String farmId);

    /**
     * 溯源
     * */
    JSONUtil insertTraceSource(TraceaBility traceaBility);

    /**
     * 获取溯源列表
     * */
    JSONUtil getTraceSourceList(String farmId,String areaCode,Integer state,Integer userId);


    /**
     * 分组获取最近一次农田溯源列表
     * */
    JSONUtil getTop1TraceSourceList(String areaCode);

    /**
     * 获取溯源表头
     * */
    JSONUtil getFarmUserByFarmId(String farmId);

    /**
     * 获取溯源中的列表
     * */
    JSONUtil getAllCropByFarmId(String farmId);

    /**
     * 获取溯源审核列表
     * */
    JSONUtil getTraceAuth(String traceId);
    /**
     * 审核
     * */
    JSONUtil putTraceAuth(TraceabilityAudit traceabilityAudit);


    /**
     * ------------------------------------修改后溯源----------------------
     * */
    /**
     * 获取用户个人信息
     */
    JSONUtil getUserAndFarmByFarmId(String farmId);


    /**
     * 获取作物生育期
     * */
    JSONUtil getTraceSourceCropPubert(String beginTime, String endTime, String farmId);


    /**
     * 获取作物生育期详情
     * */
    JSONUtil getTraceSourceCropPubertDetails(String beginTime, String endTime, String farmId);

    /**
     * 获取农事活动
     * */
    JSONUtil getFarming(String farmId,String beginTime, String endTime,Integer type);

    /**
     * 获取默认收获算法时间
     * */
    JSONUtil getFarmDateTime(String farmId);
    /**
     * 获取关联BaeUserID
     * */
    String getBaseUserId(String bindUserId);
    Integer getBindUserId(String baseUserId);

    Integer getUserId(Integer traceId);
    /**
     * 修改溯源
     * */
    JSONUtil updateTrace(TraceaBility traceaBility);

}
